package com.ophiux.cs.domain.user.model.entity;

import com.ophiux.cs.domain.core.Entity;
import com.ophiux.utils.common.DateUtil;

/**
 * 患者信息表
 */
public class Patients extends Entity{
	/** 有效 */
	public static final String STATE_1="1";
	/** 无效 */
	public static final String STATE_0="0";
	/** 默认就诊人*/
	public static final String IS_DEFAULT_YES="1";
	/** 非默认就诊人*/
	public static final String IS_DEFAULT_NO="0";
	/**证件类型    1身份证*/
	public static final String CERTIFICATE_TYPE_1="1";
	
	
	/**
	 *
	 */
	private String ID;

	/**
	 *患者ID  唯一
	 */
	private String PATIENT_ID;

	/**
	 *用户ID  关联“cs_users”表
	 */
	private String USER_ID;

	/**
	 *患者姓名  25字内
	 */
	private String PATIENT_NAME;

	/**
	 *患者身份证
	 */
	private String ID_NO;

	/**
	 *电话
	 */
	private String PHONE;

	/**
	 *性别  1：男  0：女
	 */
	private String SEX;

	/**
	 *出生日期
	 */
	private String BIRTH_DAY;

	/**
	 *状态 1:有效  0:失效  默认1
	 */
	private String STATE="1";

	/**
	 *是否默认就诊人  1默认就诊人 0非默认就诊人
	 */
	private String IS_DEFAULT="0";

	/**
	 *创建时间 格式：yyyy-mm-dd 24hh:mm:ss
	 */
	private String CREATE_TIME;

	/**
	 *最近修改时间  格式：yyyy-mm-dd 24hh:mm:ss
	 */
	private String RECENT_TIME;

	/**
	 *证件类型
	 */
	private String CERTIFICATE_TYPE;

	/**
	 *证件号
	 */
	private String CERTIFICATE_NO;

	/**
	 *住址
	 */
	private String ADDRESS;
	
	/**
	 * 年龄
	 */
	private String AGE;
	
	
	
	public Patients() {
		super();
	}

	/**
	 * 新增就诊人 默认设置参数
	 * @param uSER_ID
	 */
	public Patients(String uSER_ID) {
		super();
		USER_ID = uSER_ID;
		this.STATE=STATE_1;
		this.CREATE_TIME=DateUtil.getCurDateStr();
		this.PATIENT_ID=Patients.getPatientId();
	}

	/**
	 * 新增患者信息
	 * @param patient
	 * @return
	 */
	public void add() {
		this.STATE=STATE_1;
		this.CREATE_TIME=DateUtil.getCurDateStr();
		this.PATIENT_ID=Patients.getPatientId();
	}
	
	/**
	 * 更新就诊人修改时间
	 */
	public void update() {
		this.RECENT_TIME=DateUtil.getCurDateStr();
	}
	
	/**
	 * 默认就诊人
	 */
	public void defaultPatient() {
		this.IS_DEFAULT=IS_DEFAULT_YES;
	}
	
	/**
	 * 不是默认就诊人
	 */
	public void notDefaultPatient() {
		this.IS_DEFAULT=IS_DEFAULT_NO;
	}
	
	/**
	 * 删除患者信息
	 */
	public void delete() {
		this.STATE=STATE_0;
		this.RECENT_TIME=DateUtil.getCurDateStr();
	}
	
	private static String getPatientId() {
		String patientId = DateUtil.getCurDateRandom();
		return patientId;
	}
	

	public String getID() {
		return ID;
	}

	public void setID(String iD) {
		ID = iD;
	}

	public String getPATIENT_ID() {
		return PATIENT_ID;
	}

	public void setPATIENT_ID(String pATIENT_ID) {
		PATIENT_ID = pATIENT_ID;
		setUNIQUE_ID(PATIENT_ID);
	}

	public String getUSER_ID() {
		return USER_ID;
	}

	public void setUSER_ID(String uSER_ID) {
		USER_ID = uSER_ID;
	}

	public String getPATIENT_NAME() {
		return PATIENT_NAME;
	}

	public void setPATIENT_NAME(String pATIENT_NAME) {
		PATIENT_NAME = pATIENT_NAME;
	}

	public String getID_NO() {
		return ID_NO;
	}

	public void setID_NO(String iD_NO) {
		ID_NO = iD_NO;
	}

	public String getPHONE() {
		return PHONE;
	}

	public void setPHONE(String pHONE) {
		PHONE = pHONE;
	}

	public String getSEX() {
		return SEX;
	}

	public void setSEX(String sEX) {
		SEX = sEX;
	}

	public String getBIRTH_DAY() {
		return BIRTH_DAY;
	}

	public void setBIRTH_DAY(String bIRTH_DAY) {
		BIRTH_DAY = bIRTH_DAY;
	}

	public String getSTATE() {
		return STATE;
	}

	public void setSTATE(String sTATE) {
		STATE = sTATE;
	}

	public String getIS_DEFAULT() {
		return IS_DEFAULT;
	}

	public void setIS_DEFAULT(String iS_DEFAULT) {
		IS_DEFAULT = iS_DEFAULT;
	}

	public String getCREATE_TIME() {
		return CREATE_TIME;
	}

	public void setCREATE_TIME(String cREATE_TIME) {
		CREATE_TIME = cREATE_TIME;
	}

	public String getRECENT_TIME() {
		return RECENT_TIME;
	}

	public void setRECENT_TIME(String rECENT_TIME) {
		RECENT_TIME = rECENT_TIME;
	}

	public String getCERTIFICATE_TYPE() {
		return CERTIFICATE_TYPE;
	}

	public void setCERTIFICATE_TYPE(String cERTIFICATE_TYPE) {
		CERTIFICATE_TYPE = cERTIFICATE_TYPE;
	}

	public String getCERTIFICATE_NO() {
		return CERTIFICATE_NO;
	}

	public void setCERTIFICATE_NO(String cERTIFICATE_NO) {
		CERTIFICATE_NO = cERTIFICATE_NO;
	}

	public String getADDRESS() {
		return ADDRESS;
	}

	public void setADDRESS(String aDDRESS) {
		ADDRESS = aDDRESS;
	}

	public String getAGE() {
		return AGE;
	}

	public void setAGE(String aGE) {
		AGE = aGE;
	}
	
	

}
